package com.nulldev.util.web.nCaptcha.backend;

import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;

import com.nulldev.util.uri.URIUtil;
import com.nulldev.util.uri.URIUtil2;
import com.nulldev.util.uri.server.HttpPage;
import com.nulldev.util.uri.server.RequestType;
import com.nulldev.util.web.nCaptcha.backend.user.User;
import com.nulldev.util.web.nCaptcha.backend.user.UserManager;

public class ValidUID extends HttpPage {

	public ValidUID() {
		super("/check_uid");
	}

	@Override
	public String handleRequest(String args, String ip, RequestType type) {
		final Map<String, List<String>> requests = URIUtil2.splitQuery(URIUtil.safeCreate(args));
		final User user = UserManager.registerOrLoadUser(ip);
		final List<String> uid0 = requests.get("input");
		if (uid0 == null || uid0.size() == 0) {
			return "INVALID";
		}
		if (user.getExpectedResults() != null && user.getExpectedResults().length > 0 && user.getUID().equals(uid0.get(0))) {
			return "VALID" + "\n" + user.time();
		}
		return "INVALID";
	}

	/**
	 * Unused
	 */
	@Override
	public byte[] handleRequest_Alt(String args, String ip, RequestType type) {
		return null;
	}
}
